home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d14 / baswind8.arc / README.DOC < prev    next >
Text File  |  1990-09-14  |  12KB  |  276 lines

  1.  
  2.                                                             SEPT, 1990
  3.  
  4.  
  5.                          BASIC WINDOWS TOOLS
  6.  
  7.                             version 8.0
  8.  
  9.                                 with
  10.  
  11.                           MS  Mouse support
  12.  
  13.  
  14.                                  BY
  15.  
  16.                          James P. Morgan
  17.                          5226 Via Hacienda #115
  18.                          Orlando Fl. 32809
  19.                          U.S.A.
  20.  
  21.  
  22.                   * based on original PD works by *
  23.  
  24.                              Dave Evers
  25.  
  26.  
  27.   ===========================================================================
  28.  
  29.    As an introduction, let me say that the modifications and enhancements
  30.   made by myself, James P Morgan, were based on the original source code
  31.   as distributed by Mr Evers. This source coded was greatly enhanced by myself
  32.   and released into the Public Domain, with Mr. Evers permission.
  33.  
  34.    This product, BASWIND, is a MAJOR enhancement and as such will stand
  35.   on its own merits. BASWIND was designed to support QuickBASIC 4.5 only
  36.   from the compile command line,  however testing has been done from the
  37.   environment, with no problems found as yet.
  38.  
  39.    Also,  assembler mouse interface routines were written to provide
  40.   MS Mouse support. These routines (for now) were patterned after the
  41.   ADVBAS9A.ARC library of routines, available on most BBSs. My next goal
  42.   is to replicate MOST/ALL the asm routines in ADVBAS and some of the
  43.   other routines in Shareware/PD libraries and make them (source and all)
  44.   available.
  45.  
  46.    With version 8.0 of BASWIND the source, .bas and .asm , is included as
  47.   well as a compiled QB4.5 version of the demo programs. The documentation
  48.   on how to interface to the various window/mouse routines is also included.
  49.   QB 2.0 and QB 3.0 will not be supported.
  50.  
  51.    I hate to re-invent the wheel, but if we can put together a library of
  52.   public domain QB routines and .asm routines to match ADVBAS and GLIB and
  53.   others, then we can all benefit.
  54.  
  55.  
  56.  
  57.  
  58.    YOUR FEEDBACK IS NECESSARY IF YOU USE BASWIND AND WANT THIS EFFORT TO
  59.    CONTINUE.
  60.  
  61.  
  62.        -  Version 8.00 is initially being distributed on
  63.                           ---------
  64.  
  65.                 1). THE PUBLIC (software) LIBRARY
  66.  
  67.                        P. O. Box 35705
  68.                        Houston TX  77235-5705
  69.  
  70.                        Ph :713-721-5205  - 713-721-6104
  71.  
  72.                     Ask for disk : (see PSL catalogue)
  73.  
  74.  
  75.                 2). PC ROCKLAND BBS - NY  (bulletin board, one of the BEST)
  76.  
  77.                      Download file : BASWIND8.ZIP
  78.  
  79.                        Ph :914-353-2538 (open public - non-subscribers)
  80.                            914-353-2157 (paid subscribers only)
  81.  
  82.  
  83.    Off the top of my head, some of the enhancements are:
  84.    -----------------------------------------------------
  85.  
  86.       o For Version 8.0, some enhancements were:
  87.  
  88.           o For some/most menus, where you make a selection based on the
  89.             first character of an option, the selection test is now case
  90.             insentitive. In otherwords upper/lower case does not matter.
  91.  
  92.           o For some selection menus the mouse cursor does NOT follow
  93.             the keyboard. If you select an item with the keyboard or
  94.             cursor/page around, the mouse cursor stays where it is
  95.             located. This mainly applies to POPLIST and TAGLIST functions.
  96.  
  97.           o Fixed bugs with incorrectly updating screen full of options.
  98.             This occured under some HOME/END/PAGE UP/PAGE DOWN conditions.
  99.  
  100.  
  101.  
  102.       o For Version 7.0, some enhancements were to add support to allow
  103.         the array that holds screen images to exist outside Qbasics 'work'
  104.         area. In otherwords as a FAR array (allocated from high memory heap).
  105.         This now requires you to define the screen image array as DYNAMIC and
  106.         also for you to pass the ASM routines (SCRNSAVE, SCRNREST, SAVEWIND
  107.         and RESTWIND) the memory SEGMENT address and memory OFFSET (in
  108.         SEGMENT) of the array you are using to store screen image. The other
  109.         comments below (other bullet items) really apply to version 6.0
  110.                  --------------------------
  111.         (when it was released).
  112.  
  113.         Most ALL routines NOW REQUIRE an extra paramenter, RETURN.CODE%.
  114.  
  115.         To support QuickBasics DIM syntax : DIM Array (-x TO +y), additional
  116.         considerations MUST be made (see RETURN.CODE% also above). BASWIND7
  117.         'normalizes' all array process AS IF user had passed arrays as,
  118.         OPTION BASE 1. This requires you to 're-normalize' selection value
  119.         returned to your REAL 'UBOUND' for array passed.
  120.  
  121.         The mouse handling for QUERY/QUESTION/WARNING/CAUTION is different.
  122.  
  123.         The mouse handling for selecting an item from a window list is also
  124.         different. You double-click on non hi-lited item to select OR single
  125.         click on hi-lited item, to select.
  126.  
  127.       o Clicking on the right mouse button is same as pressing the
  128.         ENTER key. This has been functional, just not really documented.
  129.  
  130.       o For the QUERY function, the QUERY window handling has been
  131.         enhanced to allow 'button' boxs of different size prompt messages.
  132.         The 'button' boxes will both be as large as biggest prompt.
  133.  
  134.         Also QUERY box will now never be smaller than 'button' boxes.
  135.  
  136.        o Assembler routines modified so that interrupts will NOT be
  137.         disabled for any long period of time. Async data was being lost
  138.         when writing to the screen (using .asm routines) with interrupts
  139.         turned off, to update the video buffer directly as fast as possible.
  140.  
  141.       o For BASWIND7 the MOST significant feature is support for MS Mouse
  142.        and mouse drivers that are compatible with the MS mouse driver.
  143.  
  144.       o Functions that now support a mouse STILL continue to support the key-
  145.         board. You can use the keyboard and mouse together or not. The mouse
  146.         DOES follow the keyboard cursor keys.
  147.  
  148.       o Window 'shadowing' now is TRUE shadowing. Any screen image that is
  149.        in a window shadow is NOT overwritten by a completely black character
  150.        BUT will be turned into a white-on-black character (as if the charac-
  151.        ter WERE in the shadow of another image).
  152.  
  153.       o All window modules will detect the calling "OPTION BASE" for arrays
  154.        and adjust all array handling routines accordingly .
  155.  
  156.       o The sub programs can be compiled separately and put into a
  157.        ".LIB" file for linking with separate standalone programs.
  158.  
  159.  
  160.  
  161.  
  162.       o The sub programs can ALL be made into one large ".BAS" (windows.bas)
  163.        file.
  164.  
  165.       o Several bugs fixed, mainly the exploding windows bug and WAITTIME
  166.         midnite rollover.
  167.  
  168.       o Windows that 'grow' and windows with 'shadow' are no longer mutually
  169.         exclusive. You can have a window 'grow' with a shadow.
  170.  
  171.       o The options passed to most window functions can have leading spaces
  172.         (example : "  Calander") . This could allow for "nested" type menu
  173.         options displayed.
  174.  
  175.       o You can press the first letter of a MENU type option and the
  176.         cursor will JUMP immediately to next option which begins with
  177.         that character. The jump is circular, in other words the code
  178.         will look to the end of a array list and then start back at the front
  179.         and then back to the option the cursor was currently on.
  180.  
  181.       o A "QUESTION" function window was added. If your program requires
  182.         a "YES/NO" reply , the "QUESTION" window will handle that kind of
  183.         requirement.
  184.  
  185.       o The DEMO programs were modified to reflect and demonstrate the
  186.         the fixes and enhancements, to a better degree.
  187.  
  188.       o All variables in sub programs strong-typed, in other words each
  189.         variable should have "$%#!" ending character to fully define its
  190.         data type.
  191.  
  192.       o The Lotus 123 menu also supports "typing in of first character"
  193.         of option to select it (in addition to cursoring). Again the
  194.         "first letter" selection is a circular loop, in that all of the
  195.         options are checked, all the way back to the option that cursor
  196.         block is currently on.
  197.  
  198.       o Most all windows will accept a "first character" selection key
  199.        or still allow you to cursor to the option you want to select.
  200.  
  201.       o The source code "standardized" and structured for each sub program.
  202.  
  203.       o The SCROLL function was defined in the WINDTOOL documentation,
  204.         was omitted in the original.
  205.  
  206.       o The QUERY function was added. QUERY is a general purpose function
  207.         that serves as a template for such functions as WARNING/CAUTION.
  208.         WARNING/CAUTION/QUESTION were still included as separate functions
  209.         (for downward compatibility) even though they are now based on the
  210.         QUERY function (not standalone functions anymore).
  211.  
  212.       o The CALENDAR functions were all stardardized around a 'commom'
  213.         sub-program. The KEYCAL and CALENDR3 modules are no longer separate
  214.         programs , but use the CALENDAR sub-program for most of their work.
  215.  
  216.       o If you display a menu of items, you can pass the menu selection
  217.         you want to be the default (highlighted) when the menu initially
  218.         displayed.
  219.  
  220.       o When a menu has more items than are/can be displayed , the top and
  221.         bottom window frames will display 'arrows'. Clicking on the up or
  222.         down 'arrow' will page the window in that direction.
  223.  
  224.       o Menu windows that consist of more items than can be displayed
  225.         at once allow a Pageup/Pagedown to view the next window of selection
  226.         items. Such windows 'wrap' around now. If you are at the last menu
  227.         window, pressing Pagedown will display (wrap) the window menu of the
  228.         first group of item from which to select.
  229.  
  230.      o  When a menu window contains items from which you are to 'tag' some/
  231.         all/none for selection, you can pass the maximum number of items that
  232.         can be 'tagged' at one time.
  233.  
  234.  
  235.  
  236.  
  237.  
  238.      These efforts on my part represent better than 300+ hours , so please
  239.    understand that i am not trying to "steal" any of Mr Evers work. Mr. Evers
  240.    original works are still in the Public Domain, along with a prior enhanced
  241.    version that i released , with Mr. Evers permisssion.
  242.  
  243.      However , as with any software package, growth and evolution are nesess-
  244.    ary and in this case  MAJOR enhancements and re-write makes this BASWIND,
  245.    a separate entity to stand on its own merits.
  246.  
  247.      The current source , written in QuickBASIC 4.5  and the assembler
  248.    routines, will be made available on request:
  249.  
  250.      Send a pre-paid mailer and formatted disk (5.25 or 3.5) to the address
  251.    below and allow 2-3 weeks for return mail. I have quite a few 'irons'
  252.    in the fire with other projects, so please understand. If you dont have
  253.    time or desire to put together a mailer, then send $10.00 and state type
  254.    of media you want the files returned on. For requests outside the conti-
  255.    nental U.S.A. please add an additional $5.00 (for a total of $15.00 US
  256.    funds ONLY). ONLY checks drawn on a US bank will be honored otherwise
  257.    the request cannot be processed.
  258.  
  259.      You will receive the QuickBASIC source and source to all the .asm
  260.    routines, FOR YOUR NON-COMMERCIAL USE ONLY and will be entered into
  261.    a database (if volume warrents) so you can be notified of any additions
  262.    and/or enhancemets to QB routines or the .asm routine library.
  263.  
  264.         ******   (allow 2-3 weeks to receive the disks)   ********
  265.  
  266.     MAIL TO:
  267.  
  268.              James P. Morgan
  269.              5226 Via Hacienda #115
  270.              Orlando FL, 32809
  271.              U.S.A.
  272.  
  273.      and please give your complete return mailing address.
  274.  
  275.   ======================== end of readme.doc (JP)===========================
  276.